﻿using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace FacialClub.Models.Entities
{
    /// <summary>
    /// Notification
    /// </summary>
    [Bind(Include = "Title,Subject,Description,IsActive,CreatedDate,ModifiedDate")]
    [MetadataType(typeof (NotificationMetaData))]
    public partial class Notification
    {
        #region Nested type: NotificationMetaData

        /// <summary>
        /// Notification Meta Data for Validation
        /// </summary>
        [Bind(Exclude = "NotificationId")]
        public class NotificationMetaData
        {
            /// <summary>
            /// NotificationId
            /// </summary>
            [ScaffoldColumn(false)]
            public object NotificationId { get; set; }

            /// <summary>
            /// Notification Title
            /// </summary>
            [Required(ErrorMessage = "Notification Title is required")]
            [StringLength(160)]
            public string Title { get; set; }

            /// <summary>
            /// Notification Subject
            /// </summary>
            [Required(ErrorMessage = "Notification Subject is required")]
            [StringLength(160)]
            public string Subject { get; set; }

            /// <summary>
            /// Notification Description
            /// </summary>
            [Required(ErrorMessage = "Notification Description is required")]
            [DisplayName("Notification Description")]
            [UIHint("Wysiwyg")]
            public string Description { get; set; }

            /// <summary>
            /// Status of the Notification
            /// </summary>
            public bool IsActive { get; set; }

            /// <summary>
            /// Creation Date
            /// </summary>
            public DateTime CreatedDate { get; set; }

            /// <summary>
            /// Modified Date
            /// </summary>
            public DateTime ModifiedDate { get; set; }
        }

        #endregion
    }
}